package cn.tedu.luban.worker.main.repository;

import cn.tedu.luban.worker.protocol.bo.AdminWorkerBO;
import cn.tedu.luban.worker.protocol.bo.FrontWorkerBO;
import cn.tedu.luban.worker.protocol.param.WorkerParam;
import cn.tedu.luban.worker.protocol.param.WorkerRegistParam;
import cn.tedu.luban.worker.protocol.query.WorkerListQuery;

import java.util.List;

public interface WorkerRepository {
    void delete(Long userId);

    Long save(WorkerRegistParam param);

    FrontWorkerBO findWorker(Long userId);

    Long countWorker(WorkerListQuery query);

    List<AdminWorkerBO> findPageWorkers(WorkerListQuery query);

    AdminWorkerBO findAdminWorker(Long userId);

    void updateAuditStatus(WorkerParam workerParam);

    void updateCertStatus(WorkerParam param);
}
